package com.firefly.admin.common.properties;

import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Data
@Component
@ConfigurationProperties(prefix = "spring.redis")
public class RedisProperties {
    /**
     * redis IP地址
     */
    private String host;

    /**
     * 端口号
     */
    private int port;

    /**
     * 数据base
     */
    private int database;

    /**
     * 超时时间
     */
    private int timeout;

    /**
     * 密码
     */
    private String password;

    /**
     * jedis池配置
     */
    @Autowired
    private JedisPool jedisPool;

    @Data
    @Component
    @ConfigurationProperties(prefix = "spring.redis.jedis.pool")
    public static class JedisPool {

        /**
         * 最大连接数
         */
        private int maxIdle;

        /**
         * 最小连接数
         */
        private int minIdle;

        /**
         * 最大等待时间
         */
        private Long maxWait;

        /**
         * 最大活跃连接
         */
        private int maxActive;
    }
}
